package com.zhuhjay.common.base.constant;

import static com.zhuhjay.common.base.constant.ApplicationConstant.USER_UNIQUE_ID_KEY;

/**
 * @author ZhuHJay
 * @date 2023/2/25 11:01
 */
public class CacheConstant {

    /** token前缀 */
    public static final String TOKEN_PREFIX = "token:";

    /** uid(LoginUserDetail)前缀 */
    public static final String USER_UNIQUE_ID_PREFIX = USER_UNIQUE_ID_KEY + ':';

    /** 接口限流前缀 */
    public static final String LIMITER_PREFIX = "limit:";

    /** 统计限流提醒次数前缀 */
    public static final String LIMITER_NOTICE_PREFIX = "limit:notice:";

    /** 黑名单键名 */
    public static final String BLACK_KEY = "black";

    /** id生成器前缀 */
    public static final String ID_WORKER_PREFIX = "id:worker:";

    /** 文件上传前缀 */
    public static final String FILE_UPLOAD_PREFIX = "file:upload:";

    /** 可进行文件上传的标记前缀 */
    public static final String FILE_CAN_UPLOAD_PREFIX = "file:can:upload:";

    /** 绑定邮箱前缀 */
    public static final String BIND_EMAIL_PREFIX = "bind:email:";

    /** 解绑邮箱前缀 */
    public static final String UNBIND_EMAIL_PREFIX = "unbind:email:";

    /** 重置密码前缀 */
    public static final String RESET_PASSWORD_PREFIX = "reset:password:";

    /** 系统通知数据缓存 */
    public static final String NOTICE_DATA_KEY = "notice:data";

    /** 用户在线前缀 */
    public static final String USER_ONLINE_PREFIX = "user:online:";

    /** 角色的菜单权限缓存 */
    public static final String ROLE_MENUS_PREFIX = "role:menus:";

    /** 文件系统用户目录列表前缀 */
    public static final String FILESYSTEM_USER_DIRS_PREFIX = "filesystem:user:dirs:";

    /** 文件系统目录信息缓存前缀 */
    public static final String FILESYSTEM_USER_DIR_TEMP_PREFIX = "filesystem:dir:temp:";

    /** 微信登录授权码前缀 */
    public static final String WX_LOGIN_CODE_PREFIX = "wx:login:code:";

    /** 微信绑定码前缀 */
    public static final String WX_BIND_CODE_PREFIX = "wx:bind:code:";

    /** 微信解绑码前缀 */
    public static final String WX_UNBIND_CODE_PREFIX = "wx:unbind:code:";


}
